package com.sugon.dao;

import com.sugon.entity.ModulPositionCorrelationEntity;
import com.sugon.modules.mold.model.MoldCorrPositionCostStatVO;
import com.sugon.modules.mold.model.MoldCostStatVO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 模具位置关联Dao
 *
 * @author sugon
 * @date 2019-08-08 17:47:30
 */
public interface ModulPositionCorrelationDao extends BaseDao<ModulPositionCorrelationEntity> {

    /**
     * 模具成本统计，只计算已通过审核的模具换件记录
     *
     * @param moduleNo   模具号
     * @param moduleCode 模具编码
     * @param year       年份
     * @return
     */
    List<MoldCostStatVO> moduleCostStat(@Param("moduleNo") String moduleNo, @Param("moduleCode") String moduleCode, @Param("year") String year);

    /**
     * 模具关联位置成本统计
     *
     * @param correlationPositionId 模具关联位置ID
     * @param year                  年份
     * @return
     */
    List<MoldCorrPositionCostStatVO> costStat(@Param("correlationPositionId") String correlationPositionId, @Param("year") String year);

    /**
     * 根据模具号+备件名称+位置号查询模具位置关联信息
     *
     * @param moldNo  模具号
     * @param posName 备件名称
     * @param posNo   位置号
     * @return
     */
    List<ModulPositionCorrelationEntity> queryByCondition(@Param("moldNo") String moldNo, @Param("posName") String posName, @Param("posNo") String posNo);

    /**
     * 删除指定模具关联的所有位置
     *
     * @param moldId 模具ID
     * @return
     */
    int deleteByMoldId(@Param("moldId") String moldId);

}
